# Python 的元组与列表类似，不同之处在于元组的已有的元素不能修改、删除。
tup1 = ('Google', 'jerry', 1997, 2000)
tup2 = (1, 2, 3, 4, 5)
tup3 = "a", "b", "c", "d"  # 不需要括号也可以
print(type(tup3))
print(tup1[1:3])

print('创建空元组')
tup4 = ()

# 元组中只包含一个元素时，需要在元素后面添加逗号 , ，否则括号会被当作运算符使用：
tup5 = (50,)
print(type(tup5))  # 若不加逗号，类型为整型

# 与字符串一样，元组之间可以使用 + 号和 * 号进行运算。这就意味着他们可以组合和复制，运算后会生成一个新的元组。

print('====将可迭代系列转换为元组====')
list1 = ['Google', 'tom', 'jerry', 'Baidu']
tup6 = tuple(list1)
print(tup6)

# 所谓元组的不可变指的是元组所指向的内存中的内容不可变。

print(id(tup6))  # 查看内存地址
tup6 = (1, 2, 3)
print(id(tup6))  # 地址不一样了

# tuple初始化后就无法修改、删除、添加元素了。很安全，尽量代替list。
# 但是tuple存储的元素有变量的话，还是可以修改变量的值的，毕竟只是存的是变量的地址。

